package cn.com.pansky.action.homePage;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

import net.vsame.url2sql.action.CommonAction;
import net.vsame.url2sql.helper.SqlHelper;
import net.vsame.url2sql.sql.Model;
import cn.com.pansky.action.logs.Log;
import cn.com.pansky.sdk.API;
import cn.com.pansky.util.ImageBinaryUtil;
import cn.com.pansky.util.ProtectUtil;

import com.alibaba.fastjson.JSONObject;

/**
 * 我要转移
 * @author Administrator
 *
 */
public class TransferAction extends CommonAction {
	private Log log = new Log();
	/**
	 * 根据服务对象id获取姓名，身份证号
	 */
	public void getInfoByCa001() {
		String CA001 = getParam("CA001");
		datas.put("CA001", CA001);
		datas.put("CA003", getCA003ByCA001());// 姓名
		datas.put("CA006", ProtectUtil.help1(getCA006ByCA001()));// 身份证号
		datas.put("date", new SimpleDateFormat("yyyy-MM-dd").format(new Date()));// 身份证号
		context.getDatas().put("result", datas);
	}
	/**
	 * 确认转移
	 */
	public void transfer() throws Exception{
		String CA001 = getParam("CA001");
		//日志记录start
		String AF001 = log.start(CA001, "ZY");
		
		String name = getCA003ByCA001(); // 姓名
		String cardId = getCA006ByCA001(); // 身份证号
		String intoAddress = getParam("intoAddress");//转入地行政区划
		String intoVillage = getParam("intoVillage");//转入地村（居）委会
		String intoStreet = getParam("intoStreet");//转入街道
		String date = getParam("date"); // 转出日期
		String remarks = context.getParam("remarks");//备注
		//户口本照片
		String imgPath = getParam("img"); // 户口本图片
		
		// 根据服务对象ID查询RC10表，判断是否用户
		String s1 = urlConfig.getVar("queryRC10ByCA001");
		Model model = SqlHelper.queryOne(s1, CA001);
		String aa032 = "";
		if(model != null) {
			aa032 = model.getString("AA036"); // 用户手机号
		} else {
			// 查询好友表RA12，转移人员是好友关系
			s1 = urlConfig.getVar("queryRA12ByCA001");
			model = SqlHelper.queryOne(s1,CA001);
			if(model != null) {
				aa032 = model.getString("CA008");
			}
		}
		
		// 调用核心系统业务接口，将个人转入信息传入，返回转入成功或者失败
		JSONObject param = new JSONObject();
		param.put("AAA121", "A20009"); // 标识
		param.put("AAC003", name); // 姓名
		param.put("AAC002", cardId); // 身份证号
		
		param.put("AAB301", intoAddress); // 转入地行政区划
		param.put("AAF013", intoStreet); //转入街道
		param.put("AAF042", intoVillage); // 转入地村（居）委会
		param.put("AAZ070", intoVillage);// 转入地村（居）委会
		
		param.put("AAE035", date);// 转出日期
		param.put("AAC045", aa032); // 联系电话
		param.put("AAE013", remarks); // 备注
		param.put("BIC105", ImageBinaryUtil.getImageBinary(imgPath));// 户口本图片十六进制
		param.put("AAB299", "0");
		param.put("AAC009", "0");
		param.put("AAE011", "0");
		param.put("AAE016", "0");
		param.put("AAE015", new Date());
		
		String userId = user.getString("AA001");
		param.put("AAE011", userId);
		JSONObject object = API.sendController("transferController.json", param);
		datas.put("isTransfer", object.getBooleanValue("SUCCESS"));
		if(!object.getBooleanValue("SUCCESS")) {
			datas.put("info", object.getString("MSG"));
		}
		File file = new File(imgPath);
		if(file.exists()) {
			// 删除户口本图片
			file.delete();
		}
		
		//日志记录end
		boolean result = log.end(AF001, datas.get("isTransfer"), object.getString("MSG"));
		System.out.println("日志：转移"+result);
		
		context.getDatas().put("result", datas);
	}
}
